/*
 * Copyright (C) 2021 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.bytedance.scenedemo.activity_compatibility.scene_result;

import com.bytedance.scene.Scene;
import com.bytedance.scene.ktx.SceneExtensions;
import com.bytedance.scene.ui.SceneContainerActivity;
import com.bytedance.scenedemo.ResourceTable;
import ohos.aafwk.content.Intent;
import ohos.agp.components.*;
import ohos.agp.utils.Color;

/**
 * 回调页面
 *
 * @since 2021-06-16
 */
public class TestScene2 extends Scene{

    private boolean isClick = false;

    @Override
    public Component onCreateView(LayoutScatter scatter, ComponentContainer container, Intent intent) {
        requireActivity().getWindow().setStatusBarColor(Color.getIntColor("#404FB5"));
        Component layout = scatter.parse(ResourceTable.Layout_test_scene2, container, false);
        Button button = (Button) layout.findComponentById(ResourceTable.Id_btn_test_scene2);
        button.setClickedListener(listener -> {
            isClick = true;
            SceneExtensions.requireNavigationScene(this).setResult(this, "Result is one");
            if (SceneContainerActivity.mPushResultCallback != null) {
                SceneContainerActivity.mPushResultCallback.onResult("Result is one");
            }
            SceneExtensions.requireNavigationScene(this).pop();
        });
        return layout;
    }

    @Override
    public void onDestroyView() {
        super.onDestroyView();
        if (!isClick){
            SceneContainerActivity.mPushResultCallback.onResult("null");
        }
    }
}
